﻿using MediatR;
using W.Common.Enum;
using W.Purchase.Domain;

namespace W.Purchase.API.Application.Command.SaleCommand
{
    public class SaleOrderUpdateCommand : IRequest<int>
    {
            public int SalesOrdersId { get; set; }
            /// <summary>
            /// 销售单号
            /// </summary>
            public string? SalesOrdersNo { get; set; }
            /// <summary>
            /// 单据类型
            /// </summary>
            public string? ProcurementTypeId { get; set; }
            /// <summary>
            /// 关联订单号
            /// </summary>
            public string? AssociateNumber { get; set; }
            /// <summary>
            /// 客户编号
            /// </summary>
            public string? ClientNo { get; set; }
            /// <summary>
            /// 客户名称
            /// </summary>
            public string? ClientName { get; set; }
            /// <summary>
            /// 联系人
            /// </summary>
            public string? SalesOrdersPerson { get; set; }
            /// <summary>
            /// 电话
            /// </summary>
            public string? SalesOrdersPhone { get; set; }
            /// <summary>
            /// 发货日期
            /// </summary>
            public DateTime? ShipmentsDate { get; set; }
            /// <summary>
            /// 备注
            /// </summary>
            public string? SalesOrdersRemark { get; set; }
            /// <summary>
            /// 制单人
            /// </summary>
            public string? SingleMaker { get; set; }
            /// <summary>
            /// 制单时间
            /// </summary>
            public DateTime? SingleTime { get; set; }
            /// <summary>
            /// 公司Id
            /// </summary>
            public string? office_id { get; set; }
            /// <summary>
            /// 用户Id
            /// </summary>
            public int? user_id { get; set; }

            public List<ProductsSales> ProductsSales { get; set; }

            public AuditStatus? OrderStatus { get; set; }

            public string? OrderSale { get; set; }

            public bool? Recorded { get; set; }
    }
}
